公寓善騎士 必先利其器
騎士要住在好的公寓, 就必須要先準備好工具
: ????
不過在真正要開始開發之路之前, 我們必須要先準備好開發環境. 不管你是否擁有嵌入式開發板, 接下來的Lab都有機會可以嘗試
因為我們即將面向aarch64的架構進行編程, 所以我們直接安裝整套的gnu toolchain
sudo apt-get install -y g++-aarch64-linux-gnu
在正確的安裝之後, 試著看看有沒有以下的指令可以使用
接著繼續安裝qemu, 我們會使用它來進行系統模擬
sudo apt-get install -y qemu-system-aarch64
安裝完之後可以使用以下指令測試qemu是否正確安裝
qemu-system-aarch64
完成上述步驟 接著我們就可以先實作簡單的lab
但... 工程師的使命就是製造一堆bug
我們如何知道因為開發過程中恍神而造成記憶體操作上的失誤?
我們需要強大的神器 : GDB
之後會使用GDB來遠程調試, 所以如果直接在host上安裝; 會沒辦法debug arm platform的系統
自行編譯GDB就可以設定target platform
取得GDB source後解壓縮
執行configure來設定host跟target的對應關係
../configure --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=aarch64-linux-gnu
可以看到target設定為aarch64
接下來就可以compile 利用剛剛安裝的GNU toolchain
export CC=aarch64-linux-gnu-gcc
make
make install
安裝完畢之後執行gdb
你就可以看到美麗的畫面 如下圖
那今天就大致設定好後續會大量使用到的工具
[下集預告]
大致講解如何使用每一個組件來開發bare metal的系統所代表的含意以及用途